<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <f:view>
                <h:form id="formFindProdDisponible">

                    <p:panel id="pnlFindProdDisponible" header="Kardex Articulo"
                             style="width:650px;margin: 5px auto" 
                             toggleable="true" widgetVar="buscar">
                        <p:panelGrid>

                            <p:row>
                                <p:column>
                                    <h:outputLabel id="lblSede" value="SEDE: " class="lblBusqueda" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:selectOneMenu id="cbxSede" value="#{BKArticuloKardex.kardexBusqueda.id.idSede}" style="width: 100%"
                                                     filterMatchMode="contains" filter="#{BKArticuloKardex.listaSede.size() gt 10}" >
                                        <f:selectItem itemLabel="Seleccionar" itemValue="0" />
                                        <f:selectItems value="#{BKArticuloKardex.listaSede}"
                                                       var="sede" itemLabel="#{sede.nombre}"
                                                       itemValue="#{sede.id}" />
                                        <p:ajax listener="#{MBArticuloKardex.buscarArticulos}" update="cbxArticulo" event="change" />
                                    </p:selectOneMenu>
                                </p:column>
                            </p:row>

                            <p:row >
                                <p:column>
                                    <h:outputText id="lblBanco" value="CATEGORIA: "  class="lblBusqueda"  />
                                </p:column>
                                <p:column>
                                    <p:selectOneMenu id="cbxCategoria" value="#{BKArticuloKardex.idCategoriaArticulo}" style="width: 180px">  
                                        <f:selectItem itemLabel="Seleccione" itemValue="0" />  
                                        <f:selectItems value="#{BKArticuloKardex.listaCategoriaArticulo}" var="listaCategorias" itemLabel="#{listaCategorias.nombre}" itemValue="#{listaCategorias.id}"/>  
                                        <p:ajax update="cbxSubCategoria cbxArticulo" listener="#{MBArticuloKardex.buscarSubCategorias}" event="change" />
                                    </p:selectOneMenu>  
                                </p:column>
                                <p:column>
                                    <h:outputText value="SUB CATEGORIA: " class="lblBusqueda" />
                                </p:column>
                                <p:column>
                                    <p:selectOneMenu id="cbxSubCategoria" value="#{BKArticuloKardex.idSubCategoriaArticulo}" style="width: 180px"
                                                     disabled="#{BKArticuloKardex.listaSubCategoriaArticulo eq null}">  
                                        <f:selectItem itemLabel="Seleccione" itemValue="0" />  
                                        <f:selectItems value="#{BKArticuloKardex.listaSubCategoriaArticulo}" var="listaCategorias" itemLabel="#{listaCategorias.nombre}" itemValue="#{listaCategorias.id}"/>  
                                        <p:ajax update="cbxArticulo" listener="#{MBArticuloKardex.seleccionarSubCategorias}" event="change" /> 
                                    </p:selectOneMenu> 
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputLabel id="lblArticulo" value="ARTICULO: " class="lblBusqueda" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:selectOneMenu id="cbxArticulo" value="#{BKArticuloKardex.kardexBusqueda.id.idArticulo}"
                                                     disabled="#{BKArticuloKardex.kardexBusqueda.id.idSede eq 0}" style="width: 500px"
                                                     filterMatchMode="contains" filter="#{BKArticuloKardex.listaArticulo.size() gt 10}" >
                                        <f:selectItem itemLabel="Seleccionar" itemValue="0" />
                                        <f:selectItems value="#{BKArticuloKardex.listaArticulo}"
                                                       var="articulo" itemLabel="#{articulo.nombreComercial}"
                                                       itemValue="#{articulo.id}" />
                                        <p:ajax listener="#{MBArticuloKardex.buscarPartidas}" update="cbxPartida" event="change" />
                                    </p:selectOneMenu>
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="DETALLE: " class="lblBusqueda" />
                                </p:column>
                                <p:column>
                                    <p:inputText onkeyup="cambiarMayuscula(this)" value="#{BKArticuloKardex.articuloBusqueda.detalle}" style="width: 100%" maxlength="100"/>
                                </p:column>
                                <p:column>
                                    <h:outputLabel id="lblPartida" value="PARTIDA/LOTE: " class="lblBusqueda" />
                                </p:column>
                                <p:column>
                                    <p:selectOneMenu id="cbxPartida" value="#{BKArticuloKardex.kardexBusqueda.id.partidaLote}"
                                                     disabled="#{BKArticuloKardex.kardexBusqueda.id.idArticulo eq 0}" style="width: 100%"
                                                     filterMatchMode="contains" filter="#{BKArticuloKardex.listaPartida.size() gt 10}" >
                                        <f:selectItem itemLabel="Seleccionar" itemValue="" />
                                        <f:selectItems value="#{BKArticuloKardex.listaPartida}"
                                                       var="partida" itemLabel="#{partida}"
                                                       itemValue="#{partida}" />
                                    </p:selectOneMenu>
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputLabel id="lblFechaInicio" value="DEL: " class="lblBusqueda"/>
                                </p:column>
                                <p:column>
                                    <p:calendar id="txtFechaInicio" locale="es"
                                                value="#{BKArticuloKardex.fechaInicio}" 
                                                pattern="dd/MM/yyyy" 
                                                maxdate="#{BKArticuloKardex.fechaFinal}" size="19"
                                                showOn="button" showButtonPanel="true" navigator="true">
                                        <p:ajax event="dateSelect" update="txtFechaFinal" process="@this" />
                                    </p:calendar>
                                </p:column>
                                <p:column>
                                    <h:outputLabel id="lblFechaFinal" value="AL: " class="lblBusqueda"/>
                                </p:column>
                                <p:column>
                                    <p:calendar id="txtFechaFinal" locale="es"
                                                value="#{BKArticuloKardex.fechaFinal}" 
                                                pattern="dd/MM/yyyy" size="19"
                                                mindate="#{BKArticuloKardex.fechaInicio}"
                                                showOn="button" showButtonPanel="true" navigator="true">
                                        <p:ajax event="dateSelect" update="txtFechaInicio" process="@this"  />
                                    </p:calendar>
                                </p:column>
                            </p:row>
                            <p:row>
                                <p:column colspan="4">
                                    <p:commandButton id="btnBuscarProdDisp" value="BUSCAR" rendered="false"
                                                     update="pnlListaProdDisp,dataTablaProdDisp"
                                                     actionListener="#{MBArticuloKardex.buscarArticuloKardex}"
                                                     oncomplete="listaArtInventario.show();buscar.toggle()" style="font-size: 12px" />
                                    <p:commandButton title="Reporte" icon="ui-icon-document" value="Kardex Valorizado" action="#{MBArticuloKardex.verKardexValorizado()}" 
                                                     ajax="false" process="@this" style="font-size: 12px" onclick="this.form.target = '_blank'" >
                                    </p:commandButton>
                                    <p:commandButton title="Reporte" icon="ui-icon-document" value="Kardex Saldo" action="#{MBArticuloKardex.verSaldo()}" 
                                                     ajax="false" process="@this" style="font-size: 12px" onclick="this.form.target = '_blank'" >
                                    </p:commandButton>
                                    <p:commandButton title="Reporte" icon="ui-icon-document" value="Kardex Fisico" action="#{MBArticuloKardex.verKardexFisico()}" 
                                                     ajax="false" process="@this" style="font-size: 12px" onclick="this.form.target = '_blank'" >
                                    </p:commandButton>
                                </p:column>
                            </p:row>

                        </p:panelGrid>

                    </p:panel>

                    <p:panel id="pnlListaProdDisp"
                             header="Lista de Articulos Inventario" closable="true"
                             style="width: 100%;margin: 10px auto" visible="false"
                             widgetVar="listaArtInventario">

                        <h:panelGrid style="margin: 15px auto" cellspacing="4" columns="2">
                            <h:commandButton value="Exportar EXCEL">  
                                <p:dataExporter type="xls" target="dataTablaProdDisp" fileName="kardex" />  
                            </h:commandButton>  

                            <h:commandButton value="Exportar PDF">  
                                <p:dataExporter type="pdf" target="dataTablaProdDisp" fileName="kardex"/>  
                            </h:commandButton>
                        </h:panelGrid>

                        <p:dataTable id="dataTablaProdDisp" var="kardex"
                                     value="#{BKArticuloKardex.listaKardex}" widgetVar="lista"
                                     emptyMessage="No se encontraron Articulos en Inventario"
                                     filteredValue="" rowIndexVar="rowIndex" paginator="true" rows="20"
                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                     {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="40,80,100" styleClass="print"
                                     rowStyleClass="#{kardex.tiMovimiento  eq 'S'?'vencido':null}">

                            <p:column id="idColumnaNum" style="width: 5%" headerText="Num.">
                                <h:outputText value="#{rowIndex+1}" />
                            </p:column>

                            <p:column id="idColumnaSede" sortBy="#{kardex.sede.nombre}" >
                                <f:facet name="header">  
                                    <h:outputText value="Sede" />  
                                </f:facet>
                                <h:outputText value="#{kardex.sede.nombre}" />
                            </p:column>

                            <p:column id="idColumnaArticulo" sortBy="#{kardex.articulo.nombreComercial}" >
                                <f:facet name="header">  
                                    <h:outputText value="Articulo" />  
                                </f:facet>
                                <h:outputText value="#{kardex.articulo.nombreComercial}" />
                            </p:column>

                            <p:column id="idColumnaPartidaLote" sortBy="#{kardex.partidaLote}" >
                                <f:facet name="header">  
                                    <h:outputText value="Partida/Lote" />  
                                </f:facet>
                                <h:outputText value="#{kardex.partidaLote}" />
                            </p:column>

                            <p:column id="idColumnaCantidad" sortBy="#{kardex.caMovimiento}" >
                                <f:facet name="header">  
                                    <h:outputText value="Cant. Movimiento" />  
                                </f:facet>
                                <h:outputText value="#{kardex.caMovimiento}" style="float: right" >
                                    <f:convertNumber maxFractionDigits="2" groupingUsed="false" minFractionDigits="2" />
                                </h:outputText>
                            </p:column>

                            <p:column id="idColumnatipo" sortBy="#{kardex.tiMovimiento}" >
                                <f:facet name="header">  
                                    <h:outputText value="Tipo" />  
                                </f:facet>
                                <h:outputText value="#{kardex.tiMovimiento eq 'S'?'SALIDA':kardex.tiMovimiento eq 'E'?'ENTRADA':'AJUSTE'}" style="float: right" >
                                    <f:convertNumber maxFractionDigits="2" groupingUsed="false" minFractionDigits="2" />
                                </h:outputText>
                            </p:column>

                            <p:column id="idColumnaMotivo" sortBy="#{kardex.motivo1.deCortaMotivo}" >
                                <f:facet name="header">  
                                    <h:outputText value="Motivo" />  
                                </f:facet>
                                <h:outputText value="#{kardex.motivo1.deMotivo}" />
                            </p:column>

                            <p:column id="idColumnaDocumento" sortBy="#{kardex.nuDocumento}" >
                                <f:facet name="header">  
                                    <h:outputText value="Num. Doc" />  
                                </f:facet>
                                <h:outputText value="#{kardex.nuDocumento}" />
                            </p:column>

                            <p:column id="idColumnaCosto" sortBy="#{kardex.vaCostoArticulo}" >
                                <f:facet name="header">  
                                    <h:outputText value="Valor" />  
                                </f:facet>
                                <h:outputText value="#{kardex.vaCostoArticulo}" style="float: right" >
                                    <f:convertNumber maxFractionDigits="2" groupingUsed="false" minFractionDigits="2" />
                                </h:outputText>
                            </p:column>

                        </p:dataTable>
                    </p:panel>
                </h:form>

            </f:view>
        </ui:define>
    </ui:composition>

</html>